package cn.doit.utils

import java.io.File

import org.apache.commons.io.FileUtils
import org.apache.hadoop.fs.{FileSystem, Path}
import org.apache.spark.SparkContext



/**
  * 文件处理相关逻辑
  */

object FileHelper {
  /**
    * 该方法只能删除本地目录
    */
  def deleteTargetDir(path:String)={
    val file = new File(path)
    if(file.exists()){
      //递归删除
      FileUtils.deleteDirectory(file)
    }
  }

  /**
    * 根据客户端参数来获取文件系统,然后删除对应的目录
    */
  def deleteDir(dirpath:String,sc:SparkContext)={
    val hadoopConfiguration = sc.hadoopConfiguration
    //fs是本地文件系统还是分布式文件系统的core-default.xml中的fs.defaultFS
    val fs=FileSystem.get(hadoopConfiguration)
    val path = new Path(dirpath)
    if (fs.exists(path)){
      fs.delete(path,true)
    }
  }


}
